<?php
// +----------------------------------------------------------------------
// | Name 风音框架
// +----------------------------------------------------------------------
// | Author 唐启云 <tqy@fxri.net>
// +----------------------------------------------------------------------
// | Copyright Copyright © 2016-2099 方弦研究所. All rights reserved.
// +----------------------------------------------------------------------
// | Link https://www.fxri.net
// +----------------------------------------------------------------------

if (!function_exists('is_json')) {
    /**
     * 校验Json
     * @param string $data 数据
     * @return mixed
     */
    function is_json($data)
    {
        // 初始化变量
        if (!is_string($data)) return false;
        $data = json_decode($data, true);
        if (null !== $data && is_array($data)) return true;
        return false;
    }
}

if (!function_exists('is_blank')) {
    /**
     * 校验空白
     * @param string $data 数据
     * @return mixed
     */
    function is_blank($data)
    {
        // 初始化变量
        return is_null($data) || $data === '' ? true : false;
    }
}

if (!function_exists('is_mobile')) {
    /**
     * 校验手机
     * @param string $data 数据
     * @return boolean
     */
    function is_mobile($data)
    {
        // 初始化变量
        if (!is_string($data) || empty($data)) return false;
        return preg_match('/^1\d{10}$/', $data);
    }
}

if (!function_exists('is_email')) {
    /**
     * 校验邮箱
     * @param string $data 数据
     * @return boolean
     */
    function is_email($data)
    {
        // 初始化变量
        if (!is_string($data) || empty($data)) return false;
        return preg_match('/^[a-z0-9]+([\+_\-\.]?[a-z0-9]+)*@([a-z0-9]+[\-]?[a-z0-9]+\.)+[a-z]{2,6}$/i', $data);
    }
}

if (!function_exists('is_ipv4')) {
    /**
     * 校验IPv4
     * @param string $data 数据
     * @return boolean
     */
    function is_ipv4($data)
    {
        // 初始化变量
        return filter_var($data, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false;
    }
}

if (!function_exists('is_ip')) {
    /**
     * 校验IP
     * @param string $data 数据
     * @return boolean
     */
    function is_ip($data)
    {
        // 初始化变量
        return is_ipv4($data) || is_ipv6($data);
    }
}

if (!function_exists('is_ipv6')) {
    /**
     * 校验IPv6
     * @param string $data 数据
     * @return boolean
     */
    function is_ipv6($data)
    {
        // 初始化变量
        return filter_var($data, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false;
    }
}

if (!function_exists('fxy_dump')) {
    /**
     * 浏览器友好的变量输出
     * @param array $vars 要输出的变量
     * @return void
     */
    function fxy_dump()
    {
        return forward_static_call_array(['\\fxsafe\\Base', 'dump'], func_get_args());
    }
}
